Feature/stateless 2.0 - #15
Conversation
Review (do not merge) (changed PR to DRAFT)HEAD Load-bearing assumptions (please confirm or drop)These were never stated, and most of the +5.8k lines depend on them:
If (1) is wrong, delete the sidecar. If (2)/(3) are unintentional, revert those drive-bys. Blockers1. Two runtimes. Code judo: register ping / 2. Ticket registries in the package. Success criteria: one behavioral test per epic through 3. 4. Duplicate / leaky contracts. 5. Breaking / incidental behavior. Mergeable shape (split PRs, each with a real HTTP/tool test)
Until then this is a spec transcript, not an SDK change. |
|
Reviewed HEAD Blockers1. Task isolation is deny-by-accident, not deny-by-default if context is None:
return
if entry.tenant_id and context.tenant_id and entry.tenant_id != context.tenant_id:
raise TaskNotFoundError(task_id)Two production holes:
Fix: If the task was created with owner/tenant/session, require a matching verified context on every get/cancel/list. Missing dimension → 2. Task identity is client-spoofable; JWT failures are swallowed user_id = meta.get("userId") or meta.get("user_id")
# ...
payload = ...verify_token(token)
user_id = user_id or payload.get("sub")
except Exception:
pass
3. CIMD DNS check then reconnect-by-hostname is classic rebinding SSRF
Also: Fix: Resolve once, connect to the allowed IP (pin 4. Synthetic Because This is not covered by the pipeline unit tests ( 5. OPTIONS 204 on every path Any High (breaking / incomplete wiring)6. Silent session-semantics break for every app that did not set 7. Discovery now scans controllers only
8. Ingress never installs task/registry handlers
9. asyncio.create_task(manager.update_progress(...))
except Exception:
passStore updates are not awaited; failures (including “no running loop”) are swallowed. Progress and cancel will flake. Await on the tool’s event loop, or make these async. 10. Every existing tool becomes task-augmentable. Restore Medium11. CORS reflects any 12. Wrong JSON-RPC error code for invalid requests 13. Duplicate task contracts 14. Schema depth walker treats single-schema keywords as maps 15. Ticket registries in the installable package TestsAlmost all new tests are helper/registry unit tests. I only see a real Until isolation, CIMD pinning, replay/disconnect, and the |
No description provided.